package jobascjp;

class Dozens {
    int[] dz = { 1,2,3,4,5,6,7,8,9,10,11,12 };
}

public class Eggs {
    
    public static void main(String[] args) {
            Dozens[] da = new Dozens[3]; // Array wird gebaut; ein Objekt, 3 Stellplaetze, dazu 
            da[0] = new Dozens(); // ein Dozens-Objekt wird gebaut, haelt aber auch ein Array intern, also zwei dazu!
            Dozens d = new Dozens(); // ein Dozens-Objekt wird gebaut, also wieder 2 mehr
            da[1] = d; // Zeiger wird nur gesetzt
            d = null; // Ein Objekt wird genullt, ist also fuer gc interessant, insgesamt also 2 fuer die GC verfuegbar;
            da[1] = null; // hier wird nichts mehr genullt, da bereits null bei d[1] steht.
            // doStuff();
            System.out.println("durch");
            
            /*
             * Which two are true about the objects created within main(), and
             * are eligible for gc when line 14 is reached?
             * 
             * Three objects were created.
             * Four objects were created.
             * Five objects were created. // richtig
             * Zero objects are eligible for gc.
             * One object is eligible for GC.
             * Two objects are eligible for GC. // richtig
             * Three objects are eligible for GC.
             * 
             * Anmerkungen: 
             * Wie kommt man auf 5 Objekte?
             * 
             */
    }
    
}
